package cn.besbing.model.entities.primary;

import java.util.ArrayList;
import java.util.List;

public class DlFlowTableExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DlFlowTableExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andPkFlowTableIsNull() {
            addCriterion("PK_FLOW_TABLE is null");
            return (Criteria) this;
        }

        public Criteria andPkFlowTableIsNotNull() {
            addCriterion("PK_FLOW_TABLE is not null");
            return (Criteria) this;
        }

        public Criteria andPkFlowTableEqualTo(String value) {
            addCriterion("PK_FLOW_TABLE =", value, "pkFlowTable");
            return (Criteria) this;
        }

        public Criteria andPkFlowTableNotEqualTo(String value) {
            addCriterion("PK_FLOW_TABLE <>", value, "pkFlowTable");
            return (Criteria) this;
        }

        public Criteria andPkFlowTableGreaterThan(String value) {
            addCriterion("PK_FLOW_TABLE >", value, "pkFlowTable");
            return (Criteria) this;
        }

        public Criteria andPkFlowTableGreaterThanOrEqualTo(String value) {
            addCriterion("PK_FLOW_TABLE >=", value, "pkFlowTable");
            return (Criteria) this;
        }

        public Criteria andPkFlowTableLessThan(String value) {
            addCriterion("PK_FLOW_TABLE <", value, "pkFlowTable");
            return (Criteria) this;
        }

        public Criteria andPkFlowTableLessThanOrEqualTo(String value) {
            addCriterion("PK_FLOW_TABLE <=", value, "pkFlowTable");
            return (Criteria) this;
        }

        public Criteria andPkFlowTableLike(String value) {
            addCriterion("PK_FLOW_TABLE like", value, "pkFlowTable");
            return (Criteria) this;
        }

        public Criteria andPkFlowTableNotLike(String value) {
            addCriterion("PK_FLOW_TABLE not like", value, "pkFlowTable");
            return (Criteria) this;
        }

        public Criteria andPkFlowTableIn(List<String> values) {
            addCriterion("PK_FLOW_TABLE in", values, "pkFlowTable");
            return (Criteria) this;
        }

        public Criteria andPkFlowTableNotIn(List<String> values) {
            addCriterion("PK_FLOW_TABLE not in", values, "pkFlowTable");
            return (Criteria) this;
        }

        public Criteria andPkFlowTableBetween(String value1, String value2) {
            addCriterion("PK_FLOW_TABLE between", value1, value2, "pkFlowTable");
            return (Criteria) this;
        }

        public Criteria andPkFlowTableNotBetween(String value1, String value2) {
            addCriterion("PK_FLOW_TABLE not between", value1, value2, "pkFlowTable");
            return (Criteria) this;
        }

        public Criteria andPkActionTableIsNull() {
            addCriterion("PK_ACTION_TABLE is null");
            return (Criteria) this;
        }

        public Criteria andPkActionTableIsNotNull() {
            addCriterion("PK_ACTION_TABLE is not null");
            return (Criteria) this;
        }

        public Criteria andPkActionTableEqualTo(String value) {
            addCriterion("PK_ACTION_TABLE =", value, "pkActionTable");
            return (Criteria) this;
        }

        public Criteria andPkActionTableNotEqualTo(String value) {
            addCriterion("PK_ACTION_TABLE <>", value, "pkActionTable");
            return (Criteria) this;
        }

        public Criteria andPkActionTableGreaterThan(String value) {
            addCriterion("PK_ACTION_TABLE >", value, "pkActionTable");
            return (Criteria) this;
        }

        public Criteria andPkActionTableGreaterThanOrEqualTo(String value) {
            addCriterion("PK_ACTION_TABLE >=", value, "pkActionTable");
            return (Criteria) this;
        }

        public Criteria andPkActionTableLessThan(String value) {
            addCriterion("PK_ACTION_TABLE <", value, "pkActionTable");
            return (Criteria) this;
        }

        public Criteria andPkActionTableLessThanOrEqualTo(String value) {
            addCriterion("PK_ACTION_TABLE <=", value, "pkActionTable");
            return (Criteria) this;
        }

        public Criteria andPkActionTableLike(String value) {
            addCriterion("PK_ACTION_TABLE like", value, "pkActionTable");
            return (Criteria) this;
        }

        public Criteria andPkActionTableNotLike(String value) {
            addCriterion("PK_ACTION_TABLE not like", value, "pkActionTable");
            return (Criteria) this;
        }

        public Criteria andPkActionTableIn(List<String> values) {
            addCriterion("PK_ACTION_TABLE in", values, "pkActionTable");
            return (Criteria) this;
        }

        public Criteria andPkActionTableNotIn(List<String> values) {
            addCriterion("PK_ACTION_TABLE not in", values, "pkActionTable");
            return (Criteria) this;
        }

        public Criteria andPkActionTableBetween(String value1, String value2) {
            addCriterion("PK_ACTION_TABLE between", value1, value2, "pkActionTable");
            return (Criteria) this;
        }

        public Criteria andPkActionTableNotBetween(String value1, String value2) {
            addCriterion("PK_ACTION_TABLE not between", value1, value2, "pkActionTable");
            return (Criteria) this;
        }

        public Criteria andTaskIdIsNull() {
            addCriterion("TASK_ID is null");
            return (Criteria) this;
        }

        public Criteria andTaskIdIsNotNull() {
            addCriterion("TASK_ID is not null");
            return (Criteria) this;
        }

        public Criteria andTaskIdEqualTo(String value) {
            addCriterion("TASK_ID =", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdNotEqualTo(String value) {
            addCriterion("TASK_ID <>", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdGreaterThan(String value) {
            addCriterion("TASK_ID >", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdGreaterThanOrEqualTo(String value) {
            addCriterion("TASK_ID >=", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdLessThan(String value) {
            addCriterion("TASK_ID <", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdLessThanOrEqualTo(String value) {
            addCriterion("TASK_ID <=", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdLike(String value) {
            addCriterion("TASK_ID like", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdNotLike(String value) {
            addCriterion("TASK_ID not like", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdIn(List<String> values) {
            addCriterion("TASK_ID in", values, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdNotIn(List<String> values) {
            addCriterion("TASK_ID not in", values, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdBetween(String value1, String value2) {
            addCriterion("TASK_ID between", value1, value2, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdNotBetween(String value1, String value2) {
            addCriterion("TASK_ID not between", value1, value2, "taskId");
            return (Criteria) this;
        }

        public Criteria andProjectIsNull() {
            addCriterion("PROJECT is null");
            return (Criteria) this;
        }

        public Criteria andProjectIsNotNull() {
            addCriterion("PROJECT is not null");
            return (Criteria) this;
        }

        public Criteria andProjectEqualTo(String value) {
            addCriterion("PROJECT =", value, "project");
            return (Criteria) this;
        }

        public Criteria andProjectNotEqualTo(String value) {
            addCriterion("PROJECT <>", value, "project");
            return (Criteria) this;
        }

        public Criteria andProjectGreaterThan(String value) {
            addCriterion("PROJECT >", value, "project");
            return (Criteria) this;
        }

        public Criteria andProjectGreaterThanOrEqualTo(String value) {
            addCriterion("PROJECT >=", value, "project");
            return (Criteria) this;
        }

        public Criteria andProjectLessThan(String value) {
            addCriterion("PROJECT <", value, "project");
            return (Criteria) this;
        }

        public Criteria andProjectLessThanOrEqualTo(String value) {
            addCriterion("PROJECT <=", value, "project");
            return (Criteria) this;
        }

        public Criteria andProjectLike(String value) {
            addCriterion("PROJECT like", value, "project");
            return (Criteria) this;
        }

        public Criteria andProjectNotLike(String value) {
            addCriterion("PROJECT not like", value, "project");
            return (Criteria) this;
        }

        public Criteria andProjectIn(List<String> values) {
            addCriterion("PROJECT in", values, "project");
            return (Criteria) this;
        }

        public Criteria andProjectNotIn(List<String> values) {
            addCriterion("PROJECT not in", values, "project");
            return (Criteria) this;
        }

        public Criteria andProjectBetween(String value1, String value2) {
            addCriterion("PROJECT between", value1, value2, "project");
            return (Criteria) this;
        }

        public Criteria andProjectNotBetween(String value1, String value2) {
            addCriterion("PROJECT not between", value1, value2, "project");
            return (Criteria) this;
        }

        public Criteria andFlowstartdateIsNull() {
            addCriterion("FLOWSTARTDATE is null");
            return (Criteria) this;
        }

        public Criteria andFlowstartdateIsNotNull() {
            addCriterion("FLOWSTARTDATE is not null");
            return (Criteria) this;
        }

        public Criteria andFlowstartdateEqualTo(String value) {
            addCriterion("FLOWSTARTDATE =", value, "flowstartdate");
            return (Criteria) this;
        }

        public Criteria andFlowstartdateNotEqualTo(String value) {
            addCriterion("FLOWSTARTDATE <>", value, "flowstartdate");
            return (Criteria) this;
        }

        public Criteria andFlowstartdateGreaterThan(String value) {
            addCriterion("FLOWSTARTDATE >", value, "flowstartdate");
            return (Criteria) this;
        }

        public Criteria andFlowstartdateGreaterThanOrEqualTo(String value) {
            addCriterion("FLOWSTARTDATE >=", value, "flowstartdate");
            return (Criteria) this;
        }

        public Criteria andFlowstartdateLessThan(String value) {
            addCriterion("FLOWSTARTDATE <", value, "flowstartdate");
            return (Criteria) this;
        }

        public Criteria andFlowstartdateLessThanOrEqualTo(String value) {
            addCriterion("FLOWSTARTDATE <=", value, "flowstartdate");
            return (Criteria) this;
        }

        public Criteria andFlowstartdateLike(String value) {
            addCriterion("FLOWSTARTDATE like", value, "flowstartdate");
            return (Criteria) this;
        }

        public Criteria andFlowstartdateNotLike(String value) {
            addCriterion("FLOWSTARTDATE not like", value, "flowstartdate");
            return (Criteria) this;
        }

        public Criteria andFlowstartdateIn(List<String> values) {
            addCriterion("FLOWSTARTDATE in", values, "flowstartdate");
            return (Criteria) this;
        }

        public Criteria andFlowstartdateNotIn(List<String> values) {
            addCriterion("FLOWSTARTDATE not in", values, "flowstartdate");
            return (Criteria) this;
        }

        public Criteria andFlowstartdateBetween(String value1, String value2) {
            addCriterion("FLOWSTARTDATE between", value1, value2, "flowstartdate");
            return (Criteria) this;
        }

        public Criteria andFlowstartdateNotBetween(String value1, String value2) {
            addCriterion("FLOWSTARTDATE not between", value1, value2, "flowstartdate");
            return (Criteria) this;
        }

        public Criteria andFlowenddateIsNull() {
            addCriterion("FLOWENDDATE is null");
            return (Criteria) this;
        }

        public Criteria andFlowenddateIsNotNull() {
            addCriterion("FLOWENDDATE is not null");
            return (Criteria) this;
        }

        public Criteria andFlowenddateEqualTo(String value) {
            addCriterion("FLOWENDDATE =", value, "flowenddate");
            return (Criteria) this;
        }

        public Criteria andFlowenddateNotEqualTo(String value) {
            addCriterion("FLOWENDDATE <>", value, "flowenddate");
            return (Criteria) this;
        }

        public Criteria andFlowenddateGreaterThan(String value) {
            addCriterion("FLOWENDDATE >", value, "flowenddate");
            return (Criteria) this;
        }

        public Criteria andFlowenddateGreaterThanOrEqualTo(String value) {
            addCriterion("FLOWENDDATE >=", value, "flowenddate");
            return (Criteria) this;
        }

        public Criteria andFlowenddateLessThan(String value) {
            addCriterion("FLOWENDDATE <", value, "flowenddate");
            return (Criteria) this;
        }

        public Criteria andFlowenddateLessThanOrEqualTo(String value) {
            addCriterion("FLOWENDDATE <=", value, "flowenddate");
            return (Criteria) this;
        }

        public Criteria andFlowenddateLike(String value) {
            addCriterion("FLOWENDDATE like", value, "flowenddate");
            return (Criteria) this;
        }

        public Criteria andFlowenddateNotLike(String value) {
            addCriterion("FLOWENDDATE not like", value, "flowenddate");
            return (Criteria) this;
        }

        public Criteria andFlowenddateIn(List<String> values) {
            addCriterion("FLOWENDDATE in", values, "flowenddate");
            return (Criteria) this;
        }

        public Criteria andFlowenddateNotIn(List<String> values) {
            addCriterion("FLOWENDDATE not in", values, "flowenddate");
            return (Criteria) this;
        }

        public Criteria andFlowenddateBetween(String value1, String value2) {
            addCriterion("FLOWENDDATE between", value1, value2, "flowenddate");
            return (Criteria) this;
        }

        public Criteria andFlowenddateNotBetween(String value1, String value2) {
            addCriterion("FLOWENDDATE not between", value1, value2, "flowenddate");
            return (Criteria) this;
        }

        public Criteria andRequiredroleIsNull() {
            addCriterion("REQUIREDROLE is null");
            return (Criteria) this;
        }

        public Criteria andRequiredroleIsNotNull() {
            addCriterion("REQUIREDROLE is not null");
            return (Criteria) this;
        }

        public Criteria andRequiredroleEqualTo(String value) {
            addCriterion("REQUIREDROLE =", value, "requiredrole");
            return (Criteria) this;
        }

        public Criteria andRequiredroleNotEqualTo(String value) {
            addCriterion("REQUIREDROLE <>", value, "requiredrole");
            return (Criteria) this;
        }

        public Criteria andRequiredroleGreaterThan(String value) {
            addCriterion("REQUIREDROLE >", value, "requiredrole");
            return (Criteria) this;
        }

        public Criteria andRequiredroleGreaterThanOrEqualTo(String value) {
            addCriterion("REQUIREDROLE >=", value, "requiredrole");
            return (Criteria) this;
        }

        public Criteria andRequiredroleLessThan(String value) {
            addCriterion("REQUIREDROLE <", value, "requiredrole");
            return (Criteria) this;
        }

        public Criteria andRequiredroleLessThanOrEqualTo(String value) {
            addCriterion("REQUIREDROLE <=", value, "requiredrole");
            return (Criteria) this;
        }

        public Criteria andRequiredroleLike(String value) {
            addCriterion("REQUIREDROLE like", value, "requiredrole");
            return (Criteria) this;
        }

        public Criteria andRequiredroleNotLike(String value) {
            addCriterion("REQUIREDROLE not like", value, "requiredrole");
            return (Criteria) this;
        }

        public Criteria andRequiredroleIn(List<String> values) {
            addCriterion("REQUIREDROLE in", values, "requiredrole");
            return (Criteria) this;
        }

        public Criteria andRequiredroleNotIn(List<String> values) {
            addCriterion("REQUIREDROLE not in", values, "requiredrole");
            return (Criteria) this;
        }

        public Criteria andRequiredroleBetween(String value1, String value2) {
            addCriterion("REQUIREDROLE between", value1, value2, "requiredrole");
            return (Criteria) this;
        }

        public Criteria andRequiredroleNotBetween(String value1, String value2) {
            addCriterion("REQUIREDROLE not between", value1, value2, "requiredrole");
            return (Criteria) this;
        }

        public Criteria andRequireduserIsNull() {
            addCriterion("REQUIREDUSER is null");
            return (Criteria) this;
        }

        public Criteria andRequireduserIsNotNull() {
            addCriterion("REQUIREDUSER is not null");
            return (Criteria) this;
        }

        public Criteria andRequireduserEqualTo(String value) {
            addCriterion("REQUIREDUSER =", value, "requireduser");
            return (Criteria) this;
        }

        public Criteria andRequireduserNotEqualTo(String value) {
            addCriterion("REQUIREDUSER <>", value, "requireduser");
            return (Criteria) this;
        }

        public Criteria andRequireduserGreaterThan(String value) {
            addCriterion("REQUIREDUSER >", value, "requireduser");
            return (Criteria) this;
        }

        public Criteria andRequireduserGreaterThanOrEqualTo(String value) {
            addCriterion("REQUIREDUSER >=", value, "requireduser");
            return (Criteria) this;
        }

        public Criteria andRequireduserLessThan(String value) {
            addCriterion("REQUIREDUSER <", value, "requireduser");
            return (Criteria) this;
        }

        public Criteria andRequireduserLessThanOrEqualTo(String value) {
            addCriterion("REQUIREDUSER <=", value, "requireduser");
            return (Criteria) this;
        }

        public Criteria andRequireduserLike(String value) {
            addCriterion("REQUIREDUSER like", value, "requireduser");
            return (Criteria) this;
        }

        public Criteria andRequireduserNotLike(String value) {
            addCriterion("REQUIREDUSER not like", value, "requireduser");
            return (Criteria) this;
        }

        public Criteria andRequireduserIn(List<String> values) {
            addCriterion("REQUIREDUSER in", values, "requireduser");
            return (Criteria) this;
        }

        public Criteria andRequireduserNotIn(List<String> values) {
            addCriterion("REQUIREDUSER not in", values, "requireduser");
            return (Criteria) this;
        }

        public Criteria andRequireduserBetween(String value1, String value2) {
            addCriterion("REQUIREDUSER between", value1, value2, "requireduser");
            return (Criteria) this;
        }

        public Criteria andRequireduserNotBetween(String value1, String value2) {
            addCriterion("REQUIREDUSER not between", value1, value2, "requireduser");
            return (Criteria) this;
        }

        public Criteria andActureroleIsNull() {
            addCriterion("ACTUREROLE is null");
            return (Criteria) this;
        }

        public Criteria andActureroleIsNotNull() {
            addCriterion("ACTUREROLE is not null");
            return (Criteria) this;
        }

        public Criteria andActureroleEqualTo(String value) {
            addCriterion("ACTUREROLE =", value, "acturerole");
            return (Criteria) this;
        }

        public Criteria andActureroleNotEqualTo(String value) {
            addCriterion("ACTUREROLE <>", value, "acturerole");
            return (Criteria) this;
        }

        public Criteria andActureroleGreaterThan(String value) {
            addCriterion("ACTUREROLE >", value, "acturerole");
            return (Criteria) this;
        }

        public Criteria andActureroleGreaterThanOrEqualTo(String value) {
            addCriterion("ACTUREROLE >=", value, "acturerole");
            return (Criteria) this;
        }

        public Criteria andActureroleLessThan(String value) {
            addCriterion("ACTUREROLE <", value, "acturerole");
            return (Criteria) this;
        }

        public Criteria andActureroleLessThanOrEqualTo(String value) {
            addCriterion("ACTUREROLE <=", value, "acturerole");
            return (Criteria) this;
        }

        public Criteria andActureroleLike(String value) {
            addCriterion("ACTUREROLE like", value, "acturerole");
            return (Criteria) this;
        }

        public Criteria andActureroleNotLike(String value) {
            addCriterion("ACTUREROLE not like", value, "acturerole");
            return (Criteria) this;
        }

        public Criteria andActureroleIn(List<String> values) {
            addCriterion("ACTUREROLE in", values, "acturerole");
            return (Criteria) this;
        }

        public Criteria andActureroleNotIn(List<String> values) {
            addCriterion("ACTUREROLE not in", values, "acturerole");
            return (Criteria) this;
        }

        public Criteria andActureroleBetween(String value1, String value2) {
            addCriterion("ACTUREROLE between", value1, value2, "acturerole");
            return (Criteria) this;
        }

        public Criteria andActureroleNotBetween(String value1, String value2) {
            addCriterion("ACTUREROLE not between", value1, value2, "acturerole");
            return (Criteria) this;
        }

        public Criteria andActureuserIsNull() {
            addCriterion("ACTUREUSER is null");
            return (Criteria) this;
        }

        public Criteria andActureuserIsNotNull() {
            addCriterion("ACTUREUSER is not null");
            return (Criteria) this;
        }

        public Criteria andActureuserEqualTo(String value) {
            addCriterion("ACTUREUSER =", value, "actureuser");
            return (Criteria) this;
        }

        public Criteria andActureuserNotEqualTo(String value) {
            addCriterion("ACTUREUSER <>", value, "actureuser");
            return (Criteria) this;
        }

        public Criteria andActureuserGreaterThan(String value) {
            addCriterion("ACTUREUSER >", value, "actureuser");
            return (Criteria) this;
        }

        public Criteria andActureuserGreaterThanOrEqualTo(String value) {
            addCriterion("ACTUREUSER >=", value, "actureuser");
            return (Criteria) this;
        }

        public Criteria andActureuserLessThan(String value) {
            addCriterion("ACTUREUSER <", value, "actureuser");
            return (Criteria) this;
        }

        public Criteria andActureuserLessThanOrEqualTo(String value) {
            addCriterion("ACTUREUSER <=", value, "actureuser");
            return (Criteria) this;
        }

        public Criteria andActureuserLike(String value) {
            addCriterion("ACTUREUSER like", value, "actureuser");
            return (Criteria) this;
        }

        public Criteria andActureuserNotLike(String value) {
            addCriterion("ACTUREUSER not like", value, "actureuser");
            return (Criteria) this;
        }

        public Criteria andActureuserIn(List<String> values) {
            addCriterion("ACTUREUSER in", values, "actureuser");
            return (Criteria) this;
        }

        public Criteria andActureuserNotIn(List<String> values) {
            addCriterion("ACTUREUSER not in", values, "actureuser");
            return (Criteria) this;
        }

        public Criteria andActureuserBetween(String value1, String value2) {
            addCriterion("ACTUREUSER between", value1, value2, "actureuser");
            return (Criteria) this;
        }

        public Criteria andActureuserNotBetween(String value1, String value2) {
            addCriterion("ACTUREUSER not between", value1, value2, "actureuser");
            return (Criteria) this;
        }

        public Criteria andTsIsNull() {
            addCriterion("TS is null");
            return (Criteria) this;
        }

        public Criteria andTsIsNotNull() {
            addCriterion("TS is not null");
            return (Criteria) this;
        }

        public Criteria andTsEqualTo(String value) {
            addCriterion("TS =", value, "ts");
            return (Criteria) this;
        }

        public Criteria andTsNotEqualTo(String value) {
            addCriterion("TS <>", value, "ts");
            return (Criteria) this;
        }

        public Criteria andTsGreaterThan(String value) {
            addCriterion("TS >", value, "ts");
            return (Criteria) this;
        }

        public Criteria andTsGreaterThanOrEqualTo(String value) {
            addCriterion("TS >=", value, "ts");
            return (Criteria) this;
        }

        public Criteria andTsLessThan(String value) {
            addCriterion("TS <", value, "ts");
            return (Criteria) this;
        }

        public Criteria andTsLessThanOrEqualTo(String value) {
            addCriterion("TS <=", value, "ts");
            return (Criteria) this;
        }

        public Criteria andTsLike(String value) {
            addCriterion("TS like", value, "ts");
            return (Criteria) this;
        }

        public Criteria andTsNotLike(String value) {
            addCriterion("TS not like", value, "ts");
            return (Criteria) this;
        }

        public Criteria andTsIn(List<String> values) {
            addCriterion("TS in", values, "ts");
            return (Criteria) this;
        }

        public Criteria andTsNotIn(List<String> values) {
            addCriterion("TS not in", values, "ts");
            return (Criteria) this;
        }

        public Criteria andTsBetween(String value1, String value2) {
            addCriterion("TS between", value1, value2, "ts");
            return (Criteria) this;
        }

        public Criteria andTsNotBetween(String value1, String value2) {
            addCriterion("TS not between", value1, value2, "ts");
            return (Criteria) this;
        }

        public Criteria andDef1IsNull() {
            addCriterion("DEF1 is null");
            return (Criteria) this;
        }

        public Criteria andDef1IsNotNull() {
            addCriterion("DEF1 is not null");
            return (Criteria) this;
        }

        public Criteria andDef1EqualTo(String value) {
            addCriterion("DEF1 =", value, "def1");
            return (Criteria) this;
        }

        public Criteria andDef1NotEqualTo(String value) {
            addCriterion("DEF1 <>", value, "def1");
            return (Criteria) this;
        }

        public Criteria andDef1GreaterThan(String value) {
            addCriterion("DEF1 >", value, "def1");
            return (Criteria) this;
        }

        public Criteria andDef1GreaterThanOrEqualTo(String value) {
            addCriterion("DEF1 >=", value, "def1");
            return (Criteria) this;
        }

        public Criteria andDef1LessThan(String value) {
            addCriterion("DEF1 <", value, "def1");
            return (Criteria) this;
        }

        public Criteria andDef1LessThanOrEqualTo(String value) {
            addCriterion("DEF1 <=", value, "def1");
            return (Criteria) this;
        }

        public Criteria andDef1Like(String value) {
            addCriterion("DEF1 like", value, "def1");
            return (Criteria) this;
        }

        public Criteria andDef1NotLike(String value) {
            addCriterion("DEF1 not like", value, "def1");
            return (Criteria) this;
        }

        public Criteria andDef1In(List<String> values) {
            addCriterion("DEF1 in", values, "def1");
            return (Criteria) this;
        }

        public Criteria andDef1NotIn(List<String> values) {
            addCriterion("DEF1 not in", values, "def1");
            return (Criteria) this;
        }

        public Criteria andDef1Between(String value1, String value2) {
            addCriterion("DEF1 between", value1, value2, "def1");
            return (Criteria) this;
        }

        public Criteria andDef1NotBetween(String value1, String value2) {
            addCriterion("DEF1 not between", value1, value2, "def1");
            return (Criteria) this;
        }

        public Criteria andDef2IsNull() {
            addCriterion("DEF2 is null");
            return (Criteria) this;
        }

        public Criteria andDef2IsNotNull() {
            addCriterion("DEF2 is not null");
            return (Criteria) this;
        }

        public Criteria andDef2EqualTo(String value) {
            addCriterion("DEF2 =", value, "def2");
            return (Criteria) this;
        }

        public Criteria andDef2NotEqualTo(String value) {
            addCriterion("DEF2 <>", value, "def2");
            return (Criteria) this;
        }

        public Criteria andDef2GreaterThan(String value) {
            addCriterion("DEF2 >", value, "def2");
            return (Criteria) this;
        }

        public Criteria andDef2GreaterThanOrEqualTo(String value) {
            addCriterion("DEF2 >=", value, "def2");
            return (Criteria) this;
        }

        public Criteria andDef2LessThan(String value) {
            addCriterion("DEF2 <", value, "def2");
            return (Criteria) this;
        }

        public Criteria andDef2LessThanOrEqualTo(String value) {
            addCriterion("DEF2 <=", value, "def2");
            return (Criteria) this;
        }

        public Criteria andDef2Like(String value) {
            addCriterion("DEF2 like", value, "def2");
            return (Criteria) this;
        }

        public Criteria andDef2NotLike(String value) {
            addCriterion("DEF2 not like", value, "def2");
            return (Criteria) this;
        }

        public Criteria andDef2In(List<String> values) {
            addCriterion("DEF2 in", values, "def2");
            return (Criteria) this;
        }

        public Criteria andDef2NotIn(List<String> values) {
            addCriterion("DEF2 not in", values, "def2");
            return (Criteria) this;
        }

        public Criteria andDef2Between(String value1, String value2) {
            addCriterion("DEF2 between", value1, value2, "def2");
            return (Criteria) this;
        }

        public Criteria andDef2NotBetween(String value1, String value2) {
            addCriterion("DEF2 not between", value1, value2, "def2");
            return (Criteria) this;
        }

        public Criteria andDef3IsNull() {
            addCriterion("DEF3 is null");
            return (Criteria) this;
        }

        public Criteria andDef3IsNotNull() {
            addCriterion("DEF3 is not null");
            return (Criteria) this;
        }

        public Criteria andDef3EqualTo(String value) {
            addCriterion("DEF3 =", value, "def3");
            return (Criteria) this;
        }

        public Criteria andDef3NotEqualTo(String value) {
            addCriterion("DEF3 <>", value, "def3");
            return (Criteria) this;
        }

        public Criteria andDef3GreaterThan(String value) {
            addCriterion("DEF3 >", value, "def3");
            return (Criteria) this;
        }

        public Criteria andDef3GreaterThanOrEqualTo(String value) {
            addCriterion("DEF3 >=", value, "def3");
            return (Criteria) this;
        }

        public Criteria andDef3LessThan(String value) {
            addCriterion("DEF3 <", value, "def3");
            return (Criteria) this;
        }

        public Criteria andDef3LessThanOrEqualTo(String value) {
            addCriterion("DEF3 <=", value, "def3");
            return (Criteria) this;
        }

        public Criteria andDef3Like(String value) {
            addCriterion("DEF3 like", value, "def3");
            return (Criteria) this;
        }

        public Criteria andDef3NotLike(String value) {
            addCriterion("DEF3 not like", value, "def3");
            return (Criteria) this;
        }

        public Criteria andDef3In(List<String> values) {
            addCriterion("DEF3 in", values, "def3");
            return (Criteria) this;
        }

        public Criteria andDef3NotIn(List<String> values) {
            addCriterion("DEF3 not in", values, "def3");
            return (Criteria) this;
        }

        public Criteria andDef3Between(String value1, String value2) {
            addCriterion("DEF3 between", value1, value2, "def3");
            return (Criteria) this;
        }

        public Criteria andDef3NotBetween(String value1, String value2) {
            addCriterion("DEF3 not between", value1, value2, "def3");
            return (Criteria) this;
        }

        public Criteria andDef4IsNull() {
            addCriterion("DEF4 is null");
            return (Criteria) this;
        }

        public Criteria andDef4IsNotNull() {
            addCriterion("DEF4 is not null");
            return (Criteria) this;
        }

        public Criteria andDef4EqualTo(String value) {
            addCriterion("DEF4 =", value, "def4");
            return (Criteria) this;
        }

        public Criteria andDef4NotEqualTo(String value) {
            addCriterion("DEF4 <>", value, "def4");
            return (Criteria) this;
        }

        public Criteria andDef4GreaterThan(String value) {
            addCriterion("DEF4 >", value, "def4");
            return (Criteria) this;
        }

        public Criteria andDef4GreaterThanOrEqualTo(String value) {
            addCriterion("DEF4 >=", value, "def4");
            return (Criteria) this;
        }

        public Criteria andDef4LessThan(String value) {
            addCriterion("DEF4 <", value, "def4");
            return (Criteria) this;
        }

        public Criteria andDef4LessThanOrEqualTo(String value) {
            addCriterion("DEF4 <=", value, "def4");
            return (Criteria) this;
        }

        public Criteria andDef4Like(String value) {
            addCriterion("DEF4 like", value, "def4");
            return (Criteria) this;
        }

        public Criteria andDef4NotLike(String value) {
            addCriterion("DEF4 not like", value, "def4");
            return (Criteria) this;
        }

        public Criteria andDef4In(List<String> values) {
            addCriterion("DEF4 in", values, "def4");
            return (Criteria) this;
        }

        public Criteria andDef4NotIn(List<String> values) {
            addCriterion("DEF4 not in", values, "def4");
            return (Criteria) this;
        }

        public Criteria andDef4Between(String value1, String value2) {
            addCriterion("DEF4 between", value1, value2, "def4");
            return (Criteria) this;
        }

        public Criteria andDef4NotBetween(String value1, String value2) {
            addCriterion("DEF4 not between", value1, value2, "def4");
            return (Criteria) this;
        }

        public Criteria andDef5IsNull() {
            addCriterion("DEF5 is null");
            return (Criteria) this;
        }

        public Criteria andDef5IsNotNull() {
            addCriterion("DEF5 is not null");
            return (Criteria) this;
        }

        public Criteria andDef5EqualTo(String value) {
            addCriterion("DEF5 =", value, "def5");
            return (Criteria) this;
        }

        public Criteria andDef5NotEqualTo(String value) {
            addCriterion("DEF5 <>", value, "def5");
            return (Criteria) this;
        }

        public Criteria andDef5GreaterThan(String value) {
            addCriterion("DEF5 >", value, "def5");
            return (Criteria) this;
        }

        public Criteria andDef5GreaterThanOrEqualTo(String value) {
            addCriterion("DEF5 >=", value, "def5");
            return (Criteria) this;
        }

        public Criteria andDef5LessThan(String value) {
            addCriterion("DEF5 <", value, "def5");
            return (Criteria) this;
        }

        public Criteria andDef5LessThanOrEqualTo(String value) {
            addCriterion("DEF5 <=", value, "def5");
            return (Criteria) this;
        }

        public Criteria andDef5Like(String value) {
            addCriterion("DEF5 like", value, "def5");
            return (Criteria) this;
        }

        public Criteria andDef5NotLike(String value) {
            addCriterion("DEF5 not like", value, "def5");
            return (Criteria) this;
        }

        public Criteria andDef5In(List<String> values) {
            addCriterion("DEF5 in", values, "def5");
            return (Criteria) this;
        }

        public Criteria andDef5NotIn(List<String> values) {
            addCriterion("DEF5 not in", values, "def5");
            return (Criteria) this;
        }

        public Criteria andDef5Between(String value1, String value2) {
            addCriterion("DEF5 between", value1, value2, "def5");
            return (Criteria) this;
        }

        public Criteria andDef5NotBetween(String value1, String value2) {
            addCriterion("DEF5 not between", value1, value2, "def5");
            return (Criteria) this;
        }

        public Criteria andReceivedateIsNull() {
            addCriterion("RECEIVEDATE is null");
            return (Criteria) this;
        }

        public Criteria andReceivedateIsNotNull() {
            addCriterion("RECEIVEDATE is not null");
            return (Criteria) this;
        }

        public Criteria andReceivedateEqualTo(String value) {
            addCriterion("RECEIVEDATE =", value, "receivedate");
            return (Criteria) this;
        }

        public Criteria andReceivedateNotEqualTo(String value) {
            addCriterion("RECEIVEDATE <>", value, "receivedate");
            return (Criteria) this;
        }

        public Criteria andReceivedateGreaterThan(String value) {
            addCriterion("RECEIVEDATE >", value, "receivedate");
            return (Criteria) this;
        }

        public Criteria andReceivedateGreaterThanOrEqualTo(String value) {
            addCriterion("RECEIVEDATE >=", value, "receivedate");
            return (Criteria) this;
        }

        public Criteria andReceivedateLessThan(String value) {
            addCriterion("RECEIVEDATE <", value, "receivedate");
            return (Criteria) this;
        }

        public Criteria andReceivedateLessThanOrEqualTo(String value) {
            addCriterion("RECEIVEDATE <=", value, "receivedate");
            return (Criteria) this;
        }

        public Criteria andReceivedateLike(String value) {
            addCriterion("RECEIVEDATE like", value, "receivedate");
            return (Criteria) this;
        }

        public Criteria andReceivedateNotLike(String value) {
            addCriterion("RECEIVEDATE not like", value, "receivedate");
            return (Criteria) this;
        }

        public Criteria andReceivedateIn(List<String> values) {
            addCriterion("RECEIVEDATE in", values, "receivedate");
            return (Criteria) this;
        }

        public Criteria andReceivedateNotIn(List<String> values) {
            addCriterion("RECEIVEDATE not in", values, "receivedate");
            return (Criteria) this;
        }

        public Criteria andReceivedateBetween(String value1, String value2) {
            addCriterion("RECEIVEDATE between", value1, value2, "receivedate");
            return (Criteria) this;
        }

        public Criteria andReceivedateNotBetween(String value1, String value2) {
            addCriterion("RECEIVEDATE not between", value1, value2, "receivedate");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}